f0287e40584b1487b2adcd44b81db4431a124469,sketches/src/main/java/com/yahoo/sketches/quantiles/DirectDoublesSketch.java,DirectDoublesSketch,wrapInstance,#Memory#,97
Before Change
final long memAdd = srcMem.getCumulativeOffset(0L);
//Extract the preamble, assumes at least 8 bytes
final int preLongs = extractPreLongs(memObj, memAdd);
final int serVer = extractSerVer(memObj, memAdd);
final int familyID = extractFamilyID(memObj, memAdd);
final int flags = extractFlags(memObj, memAdd);
final int k = extractK(memObj, memAdd);
final boolean empty = (flags & EMPTY_FLAG_MASK) > 0;
After Change
* @return a sketch that wraps the given srcMem
*/
static DirectDoublesSketch wrapInstance(final Memory srcMem) {
final boolean readOnly = srcMem.isReadOnly();
final boolean direct = srcMem.isDirect();
final long memCap = srcMem.getCapacity();
final int preLongs;
final int serVer;
final int familyID;
final int flags;
final int k;
final long n;
if (readOnly && !direct) {
preLongs = srcMem.getByte(PREAMBLE_LONGS_BYTE) & 0XFF;
serVer = srcMem.getByte(SER_VER_BYTE) & 0XFF;
familyID = srcMem.getByte(FAMILY_BYTE) & 0XFF;
flags = srcMem.getByte(FLAGS_BYTE) & 0XFF;
k = srcMem.getShort(K_SHORT) & 0XFFFF;
n = srcMem.getLong(N_LONG);
} else {
final Object memObj = srcMem.array(); //may be null
final long memAdd = srcMem.getCumulativeOffset(0L);
//Extract the preamble, assumes at least 8 bytes
preLongs = extractPreLongs(memObj, memAdd);
serVer = extractSerVer(memObj, memAdd);
familyID = extractFamilyID(memObj, memAdd);
flags = extractFlags(memObj, memAdd);
k = extractK(memObj, memAdd);
n = extractN(memObj, memAdd);